﻿using System;
using System.Windows.Forms;
using CapaDeGestion;
using Entidades;
using log4net;

namespace ApuestasNetInterfaz
{
    public partial class AgregarEvento : System.Web.UI.Page
    {
        protected static readonly ILog log = LogManager.GetLogger(typeof(AgregarEvento));
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["login"] != null)
            {
                usuarioConectado.Text = ((Usuario)Session["login"]).Nombreusuario;
            }
            
        }
        /// <summary>
        /// Metodo del boton agregar, recibe un onclick desde la 
        /// pantalla AgregarEvento.aspx
        /// </summary>
       
        protected void BotonAgregar_Click(object sender, EventArgs e)
        {
            int idCategoria=Convert.ToInt32(ComboCategorias.SelectedItem.Value);
            IGestionCategoria gestionCat=new GestionCategoria();
            Categoria catEvento=new Categoria();
            catEvento= gestionCat.CategoriaPorId(idCategoria);
            Evento nuevoEvento=new Evento();
            nuevoEvento.Maxposiciones = Convert.ToInt32(maximo_posiciones.Text);
            nuevoEvento.Nombre = TextBoxNombre.Text;
            nuevoEvento.Nombrecategoria = catEvento;
            IGestionEvento agregaEvento=new GestionEvento();
            agregaEvento.Insertar(nuevoEvento);
            log4net.Config.XmlConfigurator.Configure();
            log.Warn("El evento fue agregado");
            //nuevoEvento.Fecha = Convert.ToDateTime(CalendarExtender1);
            MessageBox.Show("Evento registrado ", "INFORMACIÓN", MessageBoxButtons.OK);
            Response.Redirect("Inicio.aspx");
          
        }

        /// <summary>
        /// Metodo  que recibe un onclick pero se queda para agregar otro evento
        /// </summary>
        
        protected void CrearOtro_Click(object sender, EventArgs e)
        {
            int idCategoria = Convert.ToInt32(ComboCategorias.SelectedItem.Value);
            IGestionCategoria gestionCat = new GestionCategoria();
            Categoria catEvento = new Categoria();
            catEvento = gestionCat.CategoriaPorId(idCategoria);
            Evento nuevoEvento = new Evento();
            nuevoEvento.Maxposiciones = Convert.ToInt32(maximo_posiciones.Text);
            nuevoEvento.Nombre = TextBoxNombre.Text;
            nuevoEvento.Nombrecategoria = catEvento;
            IGestionEvento agregaEvento = new GestionEvento();
            agregaEvento.Insertar(nuevoEvento);
            //nuevoEvento.Fecha = Convert.ToDateTime(TextBoxFecha.Text);
            MessageBox.Show("Evento registrado ", "INFORMACIÓN", MessageBoxButtons.OK);
            //TextBoxFecha.Text = null;
            TextBoxNombre.Text = null;
            maximo_posiciones.Text = null;
            log4net.Config.XmlConfigurator.Configure();
            log.Warn("Evento Agregado con exito");
        }
        /// <summary>
        /// Recibe una funcion onclick para no registrar ningun evento
        /// regresa a la pantalla inicio
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Cancelar_Click(object sender, EventArgs e)
        {
            log4net.Config.XmlConfigurator.Configure();
            log.Warn("No ha agregado ningun evento");
            IGestionArchivo archivo=new GestionArchivo();
            archivo.ArchivoDeExportacionDatos();
            Response.Redirect("Inicio.aspx");

        }

        protected void CerrarSesion_Click(object sender, EventArgs e)
        {
            if (Session["login"] != null)
            {
                Session["login"] = null;
                Response.Redirect("Inicio.aspx");
            }
        }


    }
}